package modelo;

import java.util.Vector;

public class Usuario {

	private String nombre;
	private String apellido;
	private int dni;
	private String domicilio;
	private int telefono;
	private boolean borrado;
	
	private Linea lineaPrincipal;
	private Vector<LineaAdicional> lineasAdicioneles;
	
	
	public Usuario(int dni,String nombre,String apellido, boolean borrado) {
		this.dni= dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.borrado = borrado;
		this.domicilio = "";
		this.telefono = 0;
		
	}


	public Usuario(int dni,String nombre,String apellido, String domicilio, boolean borrado) {
		this.dni= dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.domicilio = domicilio;
		this.borrado = borrado;
		this.telefono = 0;
	}
	
	public Usuario(int dni,String nombre,String apellido, String domicilio, int telefono, boolean borrado) {
		this.dni= dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.domicilio = domicilio;
		this.telefono = telefono;
		this.borrado = borrado;
		lineaPrincipal = null;
		lineasAdicioneles = new Vector<LineaAdicional>();
		
		
	}
	
	public Linea getLineaPrincipal() {
		return lineaPrincipal;
	}


	public void setLineaPrincipal(Linea lineaPrincipal) {
		this.lineaPrincipal = lineaPrincipal;
	}


	public Vector<LineaAdicional> getLineasAdicioneles() {
		return lineasAdicioneles;
	}


	public void setLineasAdicioneles(Vector<LineaAdicional> lineasAdicioneles) {
		this.lineasAdicioneles = lineasAdicioneles;
	}


	public void agregarLineaPrincipal (Linea lineaPrincipal){
		this.lineaPrincipal = lineaPrincipal;
	}
	
	public void agregarLineaAdicional (LineaAdicional lineaAdicional){
		lineasAdicioneles.add(lineaAdicional);
	}
	
	public boolean tieneLineaPrincipal (){
		
		if (lineaPrincipal == null || lineaPrincipal.isBorrado()){
			return false;
		}else
			return true;
		
	}
	
	public int cantidadLineaAdicional (){
		return lineasAdicioneles.size();
	}
	
	
	public boolean isBorrado() {
		return borrado;
	}
	

	public void setBorrado(boolean borrado) {
		this.borrado = borrado;
	}


	public int getTelefono() {
		return telefono;
	}



	public void setTelefono(int telefono) {
		this.telefono = telefono;
	}



	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public int getDni() {
		return dni;
	}

	public void setDni(int dni) {
		this.dni = dni;
	}

	public String getDomicilio() {
		return domicilio;
	}

	public void setDomicilio(String domicilio) {
		this.domicilio = domicilio;
	}


	public UsuarioView obtenerUsuarioView() {
		return new UsuarioView(dni, nombre, apellido, domicilio, telefono, borrado,lineasAdicioneles,lineaPrincipal);
	}

	
	
}
